如何将列表保存到 Python 中的 CSV 文件
How do I save a list to a CSV in Python
我一直在尝试将我正在开发的冒险游戏的列表保存到 CSV 文件中,但我似乎找不到任何可以在线运行的内容,这是我的代码,
import csv
testarray = ["Hello", "My", "Name", "is", "John"]
wtr = csv.writer(open ('test.csv', 'w'), delimiter=';', lineterminator='\n')
for x in testarray : wtr.writerow ([x])
for label in testarray:
testarray.write([label])
print("Done!")
抱歉,如果我的表述不当,我是新手。在此先感谢您的帮助
试试这个:
import csv
testarray = ["Hello", "My", "Name", "is", "John"]
with open('test.csv', 'w', newline='') as csvfile:
writer= csv.writer(csvfile, delimiter=' ',quotechar='|', quoting=csv.QUOTE_MINIMAL)
writer.writerow(testarray)
这是来自页面:CSV File Reading and Writing
值得一读,以便您了解其工作原理。
我会使用 Pandas Dataframe 来构建数据框并将其保存为 CSV。如果您想要单独行中的列表中的元素,请执行此操作
import pandas as pd
df1 = pd.Dataframe(testarray)
如果您希望列表的所有元素都在一行中,请执行此操作
df1 = pd.DataFrame([testarray])
另存为
df1.to_csv("my_test.csv", index = False)
如果需要,您可以在数据框中添加列名。
如果您有如下列表:
list_of_list = [['A', 15], ['B', 30],
['C', 45], ['D', 22]]
您可以简单地执行以下相同操作,使用标记的列
df_again = pd.DataFrame(list_of_list, columns =['letter', 'number'])
df_again.to_csv("new_one.csv", index = False)
在我 post 回答之前,让我花点时间解释一下你做错了什么,这样你就不会重蹈覆辙。
这行可以写得更好:
wtr = csv.writer(open ('test.csv', 'w'), delimiter=';', lineterminator='\n')
在Python
中可以写成:
with open('items.csv', 'w', newline='') as csvfile:
在您的代码示例中,您从未使用过 with
。现在是阅读 why you should use it.
的好时机
在此之下,您可以指定写入方式和内容,如下所示:
item_writer = csv.writer(csvfile, delimiter=', quoting=csv.QUOTE_MINIMAL)
这个 for 循环可以写得更好:
for label in testarray:
testarray.write([label])
您不需要用 []
方括号将 label
变量括起来,因为它不是 list
。您正在引用 list
.
中的项目
可以这样写:
for item in testarray:
item_writer.writerow(item)
这可能不是您想要的,因为它会将 list
中的每个项目都写在它自己的行上。
将所有内容放在一起,我们得到:
import csv
def main():
testarray = ["Hello", "My", "Name", "is", "John"]
with open('test.csv', mode='w') as employee_file:
employee_writer = csv.writer(employee_file, delimiter=',', quotechar='"',
quoting=csv.QUOTE_MINIMAL)
employee_writer.writerow(testarray)
print("done")
# Will output:
# Hello,My,Name,is,John
if __name__ == '__main__':
main()
我一直在尝试将我正在开发的冒险游戏的列表保存到 CSV 文件中,但我似乎找不到任何可以在线运行的内容,这是我的代码,
import csv
testarray = ["Hello", "My", "Name", "is", "John"]
wtr = csv.writer(open ('test.csv', 'w'), delimiter=';', lineterminator='\n')
for x in testarray : wtr.writerow ([x])
for label in testarray:
testarray.write([label])
print("Done!")
抱歉,如果我的表述不当,我是新手。在此先感谢您的帮助
试试这个:
import csv
testarray = ["Hello", "My", "Name", "is", "John"]
with open('test.csv', 'w', newline='') as csvfile:
writer= csv.writer(csvfile, delimiter=' ',quotechar='|', quoting=csv.QUOTE_MINIMAL)
writer.writerow(testarray)
这是来自页面:CSV File Reading and Writing
值得一读,以便您了解其工作原理。
我会使用 Pandas Dataframe 来构建数据框并将其保存为 CSV。如果您想要单独行中的列表中的元素,请执行此操作
import pandas as pd
df1 = pd.Dataframe(testarray)
如果您希望列表的所有元素都在一行中,请执行此操作
df1 = pd.DataFrame([testarray])
另存为
df1.to_csv("my_test.csv", index = False)
如果需要,您可以在数据框中添加列名。
如果您有如下列表:
list_of_list = [['A', 15], ['B', 30],
['C', 45], ['D', 22]]
您可以简单地执行以下相同操作,使用标记的列
df_again = pd.DataFrame(list_of_list, columns =['letter', 'number'])
df_again.to_csv("new_one.csv", index = False)
在我 post 回答之前,让我花点时间解释一下你做错了什么,这样你就不会重蹈覆辙。
这行可以写得更好:
wtr = csv.writer(open ('test.csv', 'w'), delimiter=';', lineterminator='\n')
在Python
中可以写成:
with open('items.csv', 'w', newline='') as csvfile:
在您的代码示例中,您从未使用过 with
。现在是阅读 why you should use it.
在此之下,您可以指定写入方式和内容,如下所示:
item_writer = csv.writer(csvfile, delimiter=', quoting=csv.QUOTE_MINIMAL)
这个 for 循环可以写得更好:
for label in testarray:
testarray.write([label])
您不需要用 []
方括号将 label
变量括起来,因为它不是 list
。您正在引用 list
.
可以这样写:
for item in testarray:
item_writer.writerow(item)
这可能不是您想要的,因为它会将 list
中的每个项目都写在它自己的行上。
将所有内容放在一起,我们得到:
import csv
def main():
testarray = ["Hello", "My", "Name", "is", "John"]
with open('test.csv', mode='w') as employee_file:
employee_writer = csv.writer(employee_file, delimiter=',', quotechar='"',
quoting=csv.QUOTE_MINIMAL)
employee_writer.writerow(testarray)
print("done")
# Will output:
# Hello,My,Name,is,John
if __name__ == '__main__':
main()