GVKun编程网logo

将CSV文件导入SQL Server(将csv文件导入mysql数据库)

8

最近很多小伙伴都在问将CSV文件导入SQLServer和将csv文件导入mysql数据库这两个问题,那么本篇文章就来给大家详细解答一下,同时本文还将给你拓展C#怎样才能将XML文件导入SQLServe

最近很多小伙伴都在问将CSV文件导入SQL Server将csv文件导入mysql数据库这两个问题,那么本篇文章就来给大家详细解答一下,同时本文还将给你拓展C#怎样才能将XML文件导入SQL Server、csv文件导入Sybase数据库、Java之利用openCsv将csv文件导入mysql数据库、php – 将csv文件导入mysql等相关知识,下面开始了哦!

本文目录一览:

将CSV文件导入SQL Server(将csv文件导入mysql数据库)

将CSV文件导入SQL Server(将csv文件导入mysql数据库)

我正在寻找使用导入.csv文件到SQL Server的帮助BULK INSERT,我有几个基本问​​题。

问题:

  1. CSV文件数据的,中间(例如:描述)之间可能有(逗号),那么如何进行导入处理这些数据?

  2. 如果客户端从Excel创建CSV,则用逗号括起来的数据""(用双引号引起来)(如下例所示),那么导入如何处理呢?

  3. 我们如何跟踪某些行是否包含不良数据,哪些导入会跳过?(导入会跳过不可导入的行)

这是带标题的CSV示例:

Name,Class,Subject,ExamDate,Mark,Description
Prabhat,4,Math,2/10/2013,25,Test data for prabhat.
Murari,5,Science,2/11/2013,24,"Test data for his's test,where we can test 2nd ROW,Test."
sanjay,Test Only.

和SQL语句导入:

BULK INSERT SchoolsTemp
FROM 'C:\CSVData\Schools.csv'
WITH
(
    FIRSTROW = 2,FIELDTERMINATOR = ',',--CSV field delimiter
    ROWTERMINATOR = '\n',--Use to shift the control to next row
    TABLOCK
)

C#怎样才能将XML文件导入SQL Server

C#怎样才能将XML文件导入SQL Server

:怎样才能将XML文件导入sql Server 2000?
:将XML文件导入sql Server有若干种方法,这里提供其中的3种:

大容量装载COM接口。如果需要将文档的实体和属性析取到关系表中,最快的方法就是使用sql Server 2000 Extensible MarkuP Language 3.0 Service Pack 1(sqlXML 3.0 SP1)提供的大容量装载COM接口。大容量状态COM接口包含在sqlXML 3.0 SP1的免费下载中。

textcopy.exe命令行实用工具。如果不希望将文档的实体和属性析取到关系表中,您可以使用textcopy.exe命令行实用工具。Textcopy.exe是将文本和image数据类型从单一服务器行或列移入或移出的优秀工具。

数据转换服务(DTS)。如果XML文档很简单,您可以使用DTS将信息逐行析取到表中。这一方法要求您将XML文件定义为输入数据源,将数据库表定义为输出数据源,并编写ActiveX脚本剖析"<"和">"方式的字符输入,以析取实体、属性及其值。

要导入的Xml文件:

复制代码 代码如下:
 
<?xml version="1.0" encoding="gb2312"?>
<Tbl_UpdateLogs>
<Table>
<id>32</id>
<title>新增执法机构页面</title>
<content>qqqqqq</content>
<module>组织机构</module>
<updateTime>2009-07-31T00:00:00+08:00</updateTime>
<operator>王永刚</operator>
</Table>
<Table>
<id>33</id>
<title>执法人员资格页面</title>
<content>大幅度放到大幅度放到</content>
<module>组织机构</module>
<updateTime>2009-07-29T00:00:00+08:00</updateTime>
<operator>王永刚</operator>
</Table>
<Table>
<id>34</id>
<title>111111</title>
<content>dfdwdd</content>
<module>qwqwq</module>
<updateTime>2009-07-29T00:00:00+08:00</updateTime>
<operator>wyg</operator>
</Table>
<Table>
<id>35</id>
<title>qq</title>
<content>fjdldldsss</content>
<module>qqqqqqq</module>
<updateTime>2009-07-30T00:00:00+08:00</updateTime>
<operator>wyg</operator>
</Table>
<Table>
<id>36</id>
<title>2009222</title>
<content>ddddd</content>
<module>22</module>
<updateTime>2009-07-31T00:00:00+08:00</updateTime>
<operator>wyg</operator>
</Table>
<Table>
<id>37</id>
<title>1234455</title>
<content>ddddddd</content>
<module>11111</module>
<updateTime>2009-07-31T00:00:00+08:00</updateTime>
<operator>wyg</operator>
</Table>
</Tbl_UpdateLogs>
/// <summary>
/// 读取Xml文件,获得所有节点的Value值
/// </summary>
/// <param name="fileName">Xml文件名</param>
/// <param name="filePath">存放的路径</param>
/// <param name="rootName">Xml根节点名称</param>
/// <returns></returns>
public void ImportXmlFile(string fileName,string filePath,string rootName)
{
string loadpath = HttpContext.Current.Server.MapPath(filePath + fileName);
try
{
XmlDocument xmldoc = new XmlDocument();
xmldoc.Load(loadpath);
//获取根节点<rootName>的所有子节点
XmlNodeList myNodeList = xmldoc.SelectSingleNode(rootName).ChildNodes;
//遍历<根节点>的所有子节点
foreach (XmlNode myXmlNode in myNodeList)
{
XmlNodeList subNodeList = myXmlNode.ChildNodes;
UpdateLogs updateLog = new UpdateLogs();
foreach (XmlNode subXmlNode in subNodeList)
{
switch (subXmlNode.Name)
{
case "id": //节点的名称,加这个条件是因为<!---->这些节点也会被读出来
updateLog.ID = int.Parse(subXmlNode.InnerText.Trim());
break;
case "title":
updateLog.Title = subXmlNode.InnerText.Trim();
break;
case "content":
updateLog.Content = subXmlNode.InnerText.Trim();
break;
case "module":
updateLog.Module = subXmlNode.InnerText.Trim();
break;
case "updateTime":
updateLog.UpdateTime = DateTime.Parse(subXmlNode.InnerText.Trim());
break;
case "operator":
updateLog.Operator = subXmlNode.InnerText.Trim();
break;
default:
break;
}
}
if (isExstsById(updateLog.ID.ToString()))
{
UpdateLog(updateLog);
}
else
{
InsertLog(updateLog);
}
}
File.Delete(loadpath);
BindData();
ClientScript.RegisterStartupScript(typeof(string),"importLog","<script>alert('导入成功!');</script>");
}
catch (Exception ex)
{
ExceptionManager.Handle(ex);
}
}

csv文件导入Sybase数据库

csv文件导入Sybase数据库

csv文件批量插入sybase数据库

# -*- coding:utf-8 -*-import osimport pyodbcimport pandas as pdfrom math import ceilfrom pandas.api.types import is_datetime64_any_dtypefrom pandas.api.types import is_float_dtypefrom pandas.api.types import is_integer_dtypefrom pandas.api.types import is_object_dtypeclass CsvToSybase(object): def __init__(self, DSN, UID, pwd):  # connect to sybase and get cursor  try:   self.conn = pyodbc.connect(''DSN={}; UID={}; pwd={}''.format(DSN, UID, pwd))  except Exception as e:   print(e)  self.cursor = self.conn.cursor() def read_csv(self, filename):  # read csv file and make table name  df = pd.read_csv(filename, keep_default_na=False, encoding=''utf-8'')  table_name = ''['' + os.path.split(filename)[-1].split(''.'')[0].replace('' '', ''_'') + '']''  self.csv_to_sybase(table_name=table_name, df=df) def make_table_sql(self, df):  # field type conversion  columns = df.columns.tolist()  types = df.ftypes  make_table = []  make_field = []  for item in columns:   item1 = ''['' + item.replace('' '', ''_'') + '']''   if is_integer_dtype(types[item]):    char = item1 + '' INT''   elif is_float_dtype(types[item]):    char = item1 + '' FLOAT''   elif is_object_dtype(types[item]):    char = item1 + '' VARCHAR(255)''   elif is_datetime.........

Java之利用openCsv将csv文件导入mysql数据库

Java之利用openCsv将csv文件导入mysql数据库

前两天干活儿的时候有个需求,前台导入csv文件,后台要做接收处理,mysql数据库中,项目用的springboot+Vue+mybatisPlus实现,下面详细记录一下实现流程。

 

1.Controller层部分:

/**
 * 读取csv文件,批量插入到数据库中
 */
@RequestMapping("/importcsv")
@RequiresPermissions("xxx:xxxxx:xxx")
public R importCsv(@RequestParam("file") MultipartFile file) throws IOException, CsvException {
    if (null == file) {
        return R.error("上传文件为空");
    }
    List<xxxEntity> csvFileContentList = xxxService.getCsvFileContent(file);
    boolean b = xxxService.saveBatch(csvFileContentList);
    if (b) {
        return R.ok("文件导入成功");
    } else {
        return R.ok("文件导入失败");
    }
}

这里是先将前端传递过来的file交给getCsvFileContent方法处理,生成要批量插入的list,然后再用mybatisPlus做批量插入。

 

2.实现类部分:

@Override
public List<xxxEntity> getCsvFileContent(MultipartFile file) throws IOException, CsvException {
    //读取csv文件
    String charset = "GBK";
    Reader reader = new InputStreamReader(file.getInputStream(), charset);
    CSVReader csvReader = new CSVReader(reader);
    csvReader.readNext();

    List<String[]> csvList = csvReader.readAll();
    List<xxxEntity> xxxList = new ArrayList<>();
    xxxEntity xxx = null;
    for(String[] csv : csvList){
        xxx = new xxxEntity();
        if(null != csv && csv.length != 0){
       //这里是查询要入库的数据是不是在数据库中已存在 xxxEntity xxxx
= findOneByxxxAndxxx(csv[0], csv[1]); if (xxxx == null) { xxx.setXxx(csv[0]); xxx.setXxx(csv[1]); xxx.setXxx(csv[2]); }else { continue; } } xxxList.add(xxx); } return xxxList; }

 

这里会将你前端发送过来的文件做读取后直接入库,不会生成中间文件,希望这篇文章能对你有帮助,有问题可以评论区交流哦。

php – 将csv文件导入mysql

php – 将csv文件导入mysql

我正在使用MySQL与PHP.通过PHP脚本我试图导入一个csv文件与以下查询

    LOAD DATA LOCAL INFILE '$file'
    INTO TABLE userstable
    FIELDS TERMINATED BY ','
    LInes TERMINATED BY '\n' IGnorE 1 LInes (name, univ, mobile);

我已成功将文件导入数据库表,但我能够看到
隐藏的格式符号(如word,powerpoint等)在最后一列下的所有单元格中,即移动.

如何避免插入表中

解决方法:

可能是DOS行结尾.
尝试一下

  LInes TERMINATED BY '\r\n'

代替.

关于将CSV文件导入SQL Server将csv文件导入mysql数据库的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于C#怎样才能将XML文件导入SQL Server、csv文件导入Sybase数据库、Java之利用openCsv将csv文件导入mysql数据库、php – 将csv文件导入mysql等相关内容,可以在本站寻找。

本文标签:

上一篇使用带有Scrapy的CSS选择器获取href(scrapy css选择器)

下一篇配置Flask-SQLAlchemy以使用Flask-Restless的多个数据库