如何在Python中读取和写入CSV文件

如何在Python中读取和写入CSV文件,python,pandas,numpy,Python,Pandas,Numpy,我有一个csv文件,它只有一列,作为我的输入 我使用这些输入来找到我的输出。我有多个输出,我需要在另一个csv文件中的输出 谁能告诉我怎么做吗 代码如下: import urllib.request jd = {input 1} // Some Codes to find output - a,b,c,d,e // ** Code to write output to a csv file. ** Repeat the code with next input of input csv f

我有一个csv文件,它只有一列,作为我的输入

我使用这些输入来找到我的输出。我有多个输出,我需要在另一个csv文件中的输出

谁能告诉我怎么做吗

代码如下:

import urllib.request
jd = {input 1}
// 
  Some Codes to find output - a,b,c,d,e
//
** Code to write output to a csv file.
** Repeat the code with next input of input csv file.


 Input CSV File has only a single column and is represented below: 
 1
 2
 3
 4
 5 

 Output would in a separate csv in a given below format :
  It would be in multiple rows and multiple columns format.

 a    b     c    d      e    
我认为您需要将文件读取到
Series
,并将输出
Series
以循环方式写入文件




我认为您需要将文件读取到
Series
,并将输出
Series
以循环方式写入文件





下面是一个简单的例子:

data.csv是一个包含一列和多行的csv

results.csv包含输入的平均值和中位数,是一个包含1行2列的csv(平均值在第1列,中位数在第2列)

例如:

import numpy as np
import pandas as pd
import csv

#load the data
data = pd.read_csv("data.csv", header=None)

#calculate things for the 1st column that has the data
calculate_mean = [np.mean(data.loc[:,0])]
calculate_median = [np.median(data.loc[:,0])]
results = [calculate_mean, calculate_median]

#write results to csv
row = []
for result in results:
    row.append(result)

with open("results.csv", "wb") as file:
   writer = csv.writer(file)
   writer.writerow(row)

下面是一个简单的例子:

data.csv是一个包含一列和多行的csv

results.csv包含输入的平均值和中位数,是一个包含1行2列的csv(平均值在第1列,中位数在第2列)

例如:

import numpy as np
import pandas as pd
import csv

#load the data
data = pd.read_csv("data.csv", header=None)

#calculate things for the 1st column that has the data
calculate_mean = [np.mean(data.loc[:,0])]
calculate_median = [np.median(data.loc[:,0])]
results = [calculate_mean, calculate_median]

#write results to csv
row = []
for result in results:
    row.append(result)

with open("results.csv", "wb") as file:
   writer = csv.writer(file)
   writer.writerow(row)

在伪代码中,您将执行以下操作:

for each_file in a_folder_that_contains_csv:  # go through all the `inputs` - csv files
    with open(each_file) as csv_file, open(other_file) as output_file:  # open each csv file, and a new csv file
        process_the_input_from_each_csv  # process the data you read from the csv_file
        export_to_output_file  # export the data to the new csv file
现在,我不会写一个完整的工作示例,因为当你有一些问题时,你最好开始挖掘并提出具体的问题。你现在只是在问:为我写这个,因为我不懂Python


在伪代码中,您将执行以下操作:

for each_file in a_folder_that_contains_csv:  # go through all the `inputs` - csv files
    with open(each_file) as csv_file, open(other_file) as output_file:  # open each csv file, and a new csv file
        process_the_input_from_each_csv  # process the data you read from the csv_file
        export_to_output_file  # export the data to the new csv file
现在,我不会写一个完整的工作示例,因为当你有一些问题时,你最好开始挖掘并提出具体问题。你现在只是在问:为我写这个,因为我不懂Python



你的问题很模糊。使用
csv
模块从csv加载数据。处理信息并使用相同的模块输出数据。事实上,我对python还不熟悉,不知道如何使用它。此外,我发现很难考虑在完成一次迭代操作后如何从CSV中选择下一个输入。解析一些文件夹中的文件,您可以使用简单的for循环和
os
模块处理这些文件。然后按照我在第一条评论中说的去做。首先,我刚刚发布了一个涵盖3个案例的答案(列表、熊猫、numpy阵列)。为了提供更好的解决方案,请让我们知道您的数据的格式。在提出此类问题之前,您的第一步是做一些研究。搜索“csv python”会产生很多结果。你的问题真的很模糊。使用
csv
模块从csv加载数据。处理信息并使用相同的模块输出数据。事实上,我对python还不熟悉,不知道如何使用它。此外,我发现很难考虑在完成一次迭代操作后如何从CSV中选择下一个输入。解析一些文件夹中的文件,您可以使用简单的for循环和
os
模块处理这些文件。然后按照我在第一条评论中说的去做。首先,我刚刚发布了一个涵盖3个案例的答案(列表、熊猫、numpy阵列)。为了提供更好的解决方案,请让我们知道您的数据的格式。在提出此类问题之前,您的第一步是做一些研究。搜索“csv python”将产生很多结果。我如何从csv导入,代码如何使用输入值,写入csv,然后返回以拾取另一个输入值?我真的很困惑。嗯,您是否有多个单列输入文件,并且需要一个包含所有列的输出文件?因为没有必要这样做,所以纯python更好/更快。但是,如果需要从所有数据中创建
数据帧
(2d数组),然后通过pandas函数处理它们,那么使用我的解决方案。我有一个csv文件,它有一列多行。对于每一行,我都在进行操作,并找到一些输出。这些输出需要以多列形式保存在单独的csv文件中。我想重复这个过程,直到我的输入csv文件完成。@user3476378您可以上传数据以找到解决方案吗?我如何从csv导入,代码如何使用输入值,写入csv,然后返回以拾取另一个输入值?我真的很困惑。嗯,您是否有多个单列输入文件,并且需要一个包含所有列的输出文件?因为没有必要这样做,所以纯python更好/更快。但是,如果需要从所有数据中创建
数据帧
(2d数组),然后通过pandas函数处理它们,那么使用我的解决方案。我有一个csv文件,它有一列多行。对于每一行,我都在进行操作,并找到一些输出。这些输出需要以多列形式保存在单独的csv文件中。我想重复这个过程,直到我的输入csv文件完成。@user3476378为了找到解决方案,你能上传你的数据吗?嘿,谢谢,我接受了你的建议。我不需要任何人为我编码。我只是需要一个方法来解决这个问题。嘿,谢谢,我接受了你的建议。我不需要任何人为我编码。我只是需要一种方法来解决这个问题。嘿,伙计,谢谢,我有一个查询,我有一个csv文件,它有一个单列和多行。对于每一行,我都在进行操作,并找到一些输出。这些输出需要以多列形式保存在单独的csv文件中。我想重复这个过程,直到我的输入csv文件完成。非常感谢您的帮助!!我只是一种接近的方式。您在回答中写入的一些伪代码。@user3476378您是否使用pandas加载第一个csv文件?还有,你的结果是列表或numpy数组?嗨,我还没有用过任何东西。我知道csv和pandas都是去API做这些事情的。谢谢你提供的框架。这真的大大消除了我的疑虑。!嘿,伙计,谢谢,我有一个问题-我有一个csv文件,它
for each_file in a_folder_that_contains_csv:  # go through all the `inputs` - csv files
    with open(each_file) as csv_file, open(other_file) as output_file:  # open each csv file, and a new csv file
        process_the_input_from_each_csv  # process the data you read from the csv_file
        export_to_output_file  # export the data to the new csv file