如何读取csv文件以获得没有列表但在普通字符串中的输出?
How to read csv file to get output without list but in normal String?
请问如何改代码得到输出:
Nigel;UK;19
John;US;22
Carol;Germany;26
没有这个输入(是列表吗?):
['Nigel', 'UK', '19']
['John', 'US', '22']
['Carol', 'Germany', '26']
代码:
import csv
with open('friends.csv', 'r') as source:
reader = csv.reader(source)
for line in reader:
print(line)
我认为现在有一些说明,但我没有找到。
谢谢
尝试通过 *
运算符解压列表元素,并将自定义分隔符传递给 print
:
import csv
with open('friends.csv', 'r') as source:
reader = csv.reader(source)
for line in reader:
print(*line, sep=';')
结果:
Nigel;UK;19
John;US;22
Carol;Germany;26
一种更简单(也更有效)的方法是将文件内容作为字符串读入,然后用冒号替换所有逗号:
with open('friends.csv', 'r') as source:
print(source.read().replace(',', ';'))
注意,这假设您的 friends.csv
内容如下:
Nigel,UK,19
John,US,22
Carol,Germany,26
你得到的输出是一个列表,因为 这就是 csv.reader()
所做的! 它读取 csv 文件的每一行,将其转换为列表并考虑逗号和转义规则,以及 returns 该列表。
如果您不关心 csv 文件的每个单独元素,只需将文件作为常规文件读取即可:
with open("filename.csv", "r") as f:
for line in f:
print(line, end="")
end=""
参数阻止 print()
添加自己的换行符,因为文件中的 line
已经包含换行符
或者,您仍然可以将其作为 csv 文件读取,但 str.join()
打印结果列表之前。如果您将 csv 文件的行用作其他地方的列表,请使用此选项,但您只想在此处打印文件
with open('friends.csv', 'r') as source:
reader = csv.reader(source)
for line in reader:
print(";".join(line))
请问如何改代码得到输出:
Nigel;UK;19
John;US;22
Carol;Germany;26
没有这个输入(是列表吗?):
['Nigel', 'UK', '19']
['John', 'US', '22']
['Carol', 'Germany', '26']
代码:
import csv
with open('friends.csv', 'r') as source:
reader = csv.reader(source)
for line in reader:
print(line)
我认为现在有一些说明,但我没有找到。
谢谢
尝试通过 *
运算符解压列表元素,并将自定义分隔符传递给 print
:
import csv
with open('friends.csv', 'r') as source:
reader = csv.reader(source)
for line in reader:
print(*line, sep=';')
结果:
Nigel;UK;19
John;US;22
Carol;Germany;26
一种更简单(也更有效)的方法是将文件内容作为字符串读入,然后用冒号替换所有逗号:
with open('friends.csv', 'r') as source:
print(source.read().replace(',', ';'))
注意,这假设您的 friends.csv
内容如下:
Nigel,UK,19
John,US,22
Carol,Germany,26
你得到的输出是一个列表,因为 这就是 csv.reader()
所做的! 它读取 csv 文件的每一行,将其转换为列表并考虑逗号和转义规则,以及 returns 该列表。
如果您不关心 csv 文件的每个单独元素,只需将文件作为常规文件读取即可:
with open("filename.csv", "r") as f:
for line in f:
print(line, end="")
end=""
参数阻止 print()
添加自己的换行符,因为文件中的 line
已经包含换行符
或者,您仍然可以将其作为 csv 文件读取,但 str.join()
打印结果列表之前。如果您将 csv 文件的行用作其他地方的列表,请使用此选项,但您只想在此处打印文件
with open('friends.csv', 'r') as source:
reader = csv.reader(source)
for line in reader:
print(";".join(line))